﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace WindowsFormsApplication3
{
    class GestLibro
    {
        public bool GrabarLibro(CLibro lib, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "Insert into Libros values(";
                sql += "'" + lib.CodLib + "',";
                sql += "'" + lib.Isbn + "',";
                sql += "'" + lib.TitLib + "',";
                sql += "'" + lib.CodCat + "',";
                sql += "'" + lib.CodEdit + "',";
                sql += "'" + lib.IdiomaOrig + "',";
                sql += "'" + lib.IdiomaLib + "',";
                sql += "'" + lib.AñoEdic + "',";
                sql += "'" + lib.NumEdic + "',";
                sql += "'" + lib.AñoIng + "',";
                sql += "'" + lib.NumPag + "',";
                sql += "'" + lib.CantLib + "',";
                sql += "'" + lib.Estado + "')";
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }


        public bool ExisteLibro(String Cod_Lib, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            SqlCommand cmd;
            SqlDataReader dr;
            String sql = "Select * From Libros Where Cod_Lib = '" + Cod_Lib + "'";
            if (cnBiblioteca != null)
            {
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    dr = cmd.ExecuteReader();
                    if (dr.Read())
                        return true;
                    else
                        return false;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }

        public bool EliminarLibro(CLibro lib, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spEliminarLibro";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Lib", System.Data.SqlDbType.Char).Value = lib.CodLib;
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }


        public bool ModificarLibro(CLibro lib, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spActualizarLibro";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Lib", System.Data.SqlDbType.Char).Value = lib.CodLib;
                cmd.Parameters.Add("@Isbn", System.Data.SqlDbType.NChar).Value = lib.Isbn;
                cmd.Parameters.Add("@Tit_Lib", System.Data.SqlDbType.VarChar).Value = lib.TitLib;
                cmd.Parameters.Add("@Cod_Cat", System.Data.SqlDbType.Char).Value = lib.CodCat;
                cmd.Parameters.Add("@Cod_Edit", System.Data.SqlDbType.Char).Value = lib.CodEdit;
                cmd.Parameters.Add("@Idioma_orig", System.Data.SqlDbType.VarChar).Value = lib.IdiomaOrig;
                cmd.Parameters.Add("@Idioma_Lib", System.Data.SqlDbType.VarChar).Value = lib.IdiomaLib;
                cmd.Parameters.Add("@Año_Edic", System.Data.SqlDbType.Int).Value = lib.AñoEdic;
                cmd.Parameters.Add("@Num_Edic", System.Data.SqlDbType.Int).Value = lib.NumEdic;
                cmd.Parameters.Add("@Año_Ing", System.Data.SqlDbType.Int).Value = lib.AñoIng;
                cmd.Parameters.Add("@Num_Pag", System.Data.SqlDbType.Int).Value = lib.NumPag;
                cmd.Parameters.Add("@Cant_Lib", System.Data.SqlDbType.Int).Value = lib.CantLib;
                cmd.Parameters.Add("@Est_Lib", System.Data.SqlDbType.Bit).Value = lib.Estado;
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }
    }
}

       

